# *-*- coding:utf-8 -*-
# @Author  : Eliza
# @Time    : 2021/7/18 14:39
# @Software : RubyMine

def test_oo(a, b)
  a + b

end

def test_C(a, *b)
  #储存成一个数组
  b.each { |value| a = a + value }
  a

end

#且 一个函数仅仅允许存在一个 不定参数
def test_A(a, *b, c)
  #储存成一个数组
  b.each { |value| a = a + value }
  a + c

end

# 不定参数 固定前后，然后再确定中间
puts test_oo(1, 3) #4
puts test_C(1, 2, 3) #6
puts test_A(1, 2, 3, 4, 3) #13

def forH(h)
  h.each do |key, value|
    p "#{key}, #{value}"
  end
end

forH(a: 3, b: 9) #可以省略 {}
puts "-------------------"

hash02 = { :a => 1, :b => "as" }
forH(hash02)
puts "-------------------"
h = { a: 1, b: 2 }
forH(h)
puts "-------------------"
